'use strict';

var api_host = VUE_APP_SERVER_API_URL;

// 考虑同步问题，采用 jquery ajax, async = false

// 创建请求
var createAPI = function createAPI(url, method, data) {
  return new Promise(function (resolve, reject) {
    $.ajax({
      type: method, //请求方式
      async: false, // fasle表示同步请求，true表示异步请求
      contentType: 'application/json;charset=UTF-8', //请求的媒体类型
      url: api_host + url, //请求地址
      data: data, //数据
      // xhrFields: {withCredentials: true}, //一对“文件名-文件值”在本机设置XHR对象。例如，用它来设置withCredentials为true的跨域请求。 用户固定PHPSESSID不变
      beforeSend: function beforeSend(xhr) {
        // xhr.setRequestHeader('Access-Control-Allow-Origin', '*')
        // let token = Cookies.get('go-token')
        var token = Cookies.get('portal_access_token');
        if (token !== undefined) {
          xhr.setRequestHeader('Authorization', 'Bearer ' + token); // 让每个请求携带token-- ['X-Token']为自定义key 请根据实际情况自行修改
        }
      },
      success: function success(result) {
        //请求成功
        resolve(result);
      },
      error: function error(e) {
        //请求失败，包含具体的错误信息
        console.log(e.status);
        console.log(e.responseText);
        reject(e);
      }
    });
  });
};

// jsonp
// jsonpCallback: "jsonpHelloService" //指定回调函数
var createJSONP = function createJSONP(url, data) {
  var jsonpCallback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'jsonpHelloService';

  return new Promise(function (resolve, reject) {
    $.ajax({
      type: 'get', //请求方式
      async: false, // fasle表示同步请求，true表示异步请求
      contentType: 'application/json;charset=UTF-8', //请求的媒体类型
      url: url, //请求地址
      data: data, //数据
      dataType: 'jsonp', //指定服务器返回的数据类型
      jsonp: 'callback', //指定参数名称
      jsonpCallback: jsonpCallback, //指定回调函数
      // xhrFields: {withCredentials: true}, //一对“文件名-文件值”在本机设置XHR对象。例如，用它来设置withCredentials为true的跨域请求。 用户固定PHPSESSID不变
      // beforeSend: function(xhr) {
      //   // xhr.setRequestHeader('Access-Control-Allow-Origin', '*')
      //   let token = Cookies.get('go-token')
      //   if (token !== undefined) {
      //     xhr.setRequestHeader('Authorization', 'Bearer ' + token) // 让每个请求携带token-- ['X-Token']为自定义key 请根据实际情况自行修改
      //   }
      // },
      success: function success(result) {
        //请求成功
        resolve(result);
      },
      error: function error(e) {
        //请求失败，包含具体的错误信息
        console.log(e.status);
        console.log(e.responseText);
        reject(e);
      }
    });
  });
};